[INFO] fetching crate buttplug 7.1.11...
[INFO] checking buttplug-7.1.11 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate buttplug 7.1.11 into /workspace/builds/worker-7-tc1/source
[INFO] validating manifest of crates.io crate buttplug 7.1.11 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate buttplug 7.1.11
[INFO] finished tweaking crates.io crate buttplug 7.1.11
[INFO] tweaked toml for crates.io crate buttplug 7.1.11 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded libudev v0.3.0
[INFO] [stderr]   Downloaded getset v0.1.2
[INFO] [stderr]   Downloaded bytecount v0.6.7
[INFO] [stderr]   Downloaded wasmtimer v0.2.0
[INFO] [stderr]   Downloaded buttplug_derive v0.8.0
[INFO] [stderr]   Downloaded num-cmp v0.1.0
[INFO] [stderr]   Downloaded rusty-xinput v1.3.0
[INFO] [stderr]   Downloaded test-case-macros v3.3.1
[INFO] [stderr]   Downloaded test-case-core v3.3.1
[INFO] [stderr]   Downloaded prost-build v0.12.3
[INFO] [stderr]   Downloaded test-case v3.3.1
[INFO] [stderr]   Downloaded serde-aux v4.5.0
[INFO] [stderr]   Downloaded cocoa v0.25.0
[INFO] [stderr]   Downloaded io-kit-sys v0.4.0
[INFO] [stderr]   Downloaded async-tungstenite v0.23.0
[INFO] [stderr]   Downloaded prost-types v0.12.3
[INFO] [stderr]   Downloaded serialport v4.3.0
[INFO] [stderr]   Downloaded jni-utils v0.1.1
[INFO] [stderr]   Downloaded fancy-regex v0.11.0
[INFO] [stderr]   Downloaded dbus v0.9.7
[INFO] [stderr]   Downloaded jsonschema v0.17.1
[INFO] [stderr]   Downloaded btleplug v0.11.5
[INFO] [stderr]   Downloaded hidapi v2.6.1
[INFO] [stderr]   Downloaded libdbus-sys v0.2.5
[INFO] [stderr]   Downloaded fraction v0.13.1
[INFO] [stderr]   Downloaded dbus-tokio v0.7.6
[INFO] [stderr]   Downloaded bluez-async v0.7.2
[INFO] [stderr]   Downloaded prost v0.12.3
[INFO] [stderr]   Downloaded prost-derive v0.12.3
[INFO] [stderr]   Downloaded mach2 v0.4.2
[INFO] [stderr]   Downloaded unescaper v0.1.4
[INFO] [stderr]   Downloaded bluez-generated v0.3.0
[INFO] [stderr]   Downloaded windows v0.52.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4dd4d52042d7215fc958496b3effbbb9971d656ffdd5bf4fd9e9d63bc7eec639
[INFO] running `Command { std: "docker" "start" "-a" "4dd4d52042d7215fc958496b3effbbb9971d656ffdd5bf4fd9e9d63bc7eec639", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4dd4d52042d7215fc958496b3effbbb9971d656ffdd5bf4fd9e9d63bc7eec639", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4dd4d52042d7215fc958496b3effbbb9971d656ffdd5bf4fd9e9d63bc7eec639", kill_on_drop: false }`
[INFO] [stdout] 4dd4d52042d7215fc958496b3effbbb9971d656ffdd5bf4fd9e9d63bc7eec639
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7e33996dd3a8398f72a58cb7b104080afc16cd5241efceff9b44a162043aaec4
[INFO] running `Command { std: "docker" "start" "-a" "7e33996dd3a8398f72a58cb7b104080afc16cd5241efceff9b44a162043aaec4", kill_on_drop: false }`
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking socket2 v0.5.6
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling thiserror-impl v1.0.57
[INFO] [stderr]    Compiling libdbus-sys v0.2.5
[INFO] [stderr]     Checking ring v0.17.8
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]     Checking tokio v1.36.0
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking openssl-sys v0.9.101
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling rustls v0.21.10
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking openssl v0.10.64
[INFO] [stderr]     Checking lock_api v0.4.11
[INFO] [stderr]     Checking thiserror v1.0.57
[INFO] [stderr]     Checking parking_lot_core v0.9.9
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking num-iter v0.1.44
[INFO] [stderr]     Checking num-complex v0.4.5
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]    Compiling time-macros v0.2.17
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]     Checking dbus v0.9.7
[INFO] [stderr]     Checking h2 v0.3.24
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking serde v1.0.197
[INFO] [stderr]     Checking native-tls v0.2.11
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking num v0.4.1
[INFO] [stderr]    Compiling async-trait v0.1.77
[INFO] [stderr]    Compiling anyhow v1.0.80
[INFO] [stderr]    Compiling pin-project-internal v1.1.4
[INFO] [stderr]    Compiling hidapi v2.6.1
[INFO] [stderr]     Checking overload v0.1.1
[INFO] [stderr]     Checking data-encoding v2.5.0
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]     Checking bluez-generated v0.3.0
[INFO] [stderr]     Checking dbus-tokio v0.7.6
[INFO] [stderr]     Checking iso8601 v0.6.1
[INFO] [stderr]     Checking tungstenite v0.20.1
[INFO] [stderr]     Checking chrono v0.4.34
[INFO] [stderr]     Checking nu-ansi-term v0.46.0
[INFO] [stderr]     Checking time v0.3.34
[INFO] [stderr]    Compiling test-case-core v3.3.1
[INFO] [stderr]     Checking hyper v0.14.28
[INFO] [stderr]    Compiling prost-derive v0.12.3
[INFO] [stderr]     Checking pin-project v1.1.4
[INFO] [stderr]     Checking libudev v0.3.0
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking uuid v1.6.1
[INFO] [stderr]     Checking serde_json v1.0.114
[INFO] [stderr]     Checking serde-xml-rs v0.6.0
[INFO] [stderr]     Checking tracing-serde v0.1.3
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking bluez-async v0.7.2
[INFO] [stderr]     Checking fraction v0.13.1
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking fancy-regex v0.11.0
[INFO] [stderr]     Checking tokio-stream v0.1.14
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking unescaper v0.1.4
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling async-stream-impl v0.3.5
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking webpki-roots v0.25.4
[INFO] [stderr]     Checking bytecount v0.6.7
[INFO] [stderr]     Checking num-cmp v0.1.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.18
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]     Checking btleplug v0.11.5
[INFO] [stderr]     Checking serialport v4.3.0
[INFO] [stderr]     Checking jsonschema v0.17.1
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking serde-aux v4.5.0
[INFO] [stderr]     Checking reqwest v0.11.24
[INFO] [stderr]     Checking async-tungstenite v0.23.0
[INFO] [stderr]    Compiling test-case-macros v3.3.1
[INFO] [stderr]     Checking async-stream v0.3.5
[INFO] [stderr]    Compiling getset v0.1.2
[INFO] [stderr]     Checking os_info v3.7.0
[INFO] [stderr]     Checking prost v0.12.3
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]    Compiling buttplug_derive v0.8.0
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling displaydoc v0.2.4
[INFO] [stderr]    Compiling serde_repr v0.1.18
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]     Checking unsafe-libyaml v0.2.10
[INFO] [stderr]     Checking test-case v3.3.1
[INFO] [stderr]     Checking serde_yaml v0.9.32
[INFO] [stderr]     Checking buttplug v7.1.11 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused pinned boxed `futures::Future` trait object that must be used
[INFO] [stdout]   --> src/server/device/protocol/thehandy/mod.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     hardware.write_value(&HardwareWriteCmd::new(Endpoint::Firmware, sec_buf, false));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused pinned boxed `futures::Future` trait object that must be used
[INFO] [stdout]   --> src/server/device/protocol/thehandy/mod.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     hardware.write_value(&HardwareWriteCmd::new(Endpoint::Firmware, sec_buf, false));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `device_test::DeviceTestCase`
[INFO] [stdout]   --> tests/util/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use device_test::DeviceTestCase;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestHardwareConnector`
[INFO] [stdout]   --> tests/util/test_device_manager/mod.rs:20:3
[INFO] [stdout]    |
[INFO] [stdout] 20 |   TestHardwareConnector,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestDeviceCommunicationManager`
[INFO] [stdout]   --> tests/util/test_device_manager/mod.rs:27:3
[INFO] [stdout]    |
[INFO] [stdout] 27 |   TestDeviceCommunicationManager,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel_transport::*`
[INFO] [stdout]   --> tests/util/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use channel_transport::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestHardwareNotification`
[INFO] [stdout]   --> tests/util/mod.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 26 |   TestHardwareNotification,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> tests/mod.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `util::async_manager`
[INFO] [stdout]   --> tests/test_device_config.rs:11:47
[INFO] [stdout]    |
[INFO] [stdout] 11 | use buttplug::{server::ButtplugServerBuilder, util::async_manager};
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `device_test::DeviceTestCase`
[INFO] [stdout]   --> tests/util/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use device_test::DeviceTestCase;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestHardwareConnector`
[INFO] [stdout]   --> tests/util/test_device_manager/mod.rs:20:3
[INFO] [stdout]    |
[INFO] [stdout] 20 |   TestHardwareConnector,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestDeviceCommunicationManager`
[INFO] [stdout]   --> tests/util/test_device_manager/mod.rs:27:3
[INFO] [stdout]    |
[INFO] [stdout] 27 |   TestDeviceCommunicationManager,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestHardwareNotification`
[INFO] [stdout]   --> tests/util/mod.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 26 |   TestHardwareNotification,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `device_test::DeviceTestCase`
[INFO] [stdout]   --> tests/util/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use device_test::DeviceTestCase;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestHardwareConnector`
[INFO] [stdout]   --> tests/util/test_device_manager/mod.rs:20:3
[INFO] [stdout]    |
[INFO] [stdout] 20 |   TestHardwareConnector,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestDeviceCommunicationManager`
[INFO] [stdout]   --> tests/util/test_device_manager/mod.rs:27:3
[INFO] [stdout]    |
[INFO] [stdout] 27 |   TestDeviceCommunicationManager,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel_transport::*`
[INFO] [stdout]   --> tests/util/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use channel_transport::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestHardwareNotification`
[INFO] [stdout]   --> tests/util/mod.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 26 |   TestHardwareNotification,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `util::async_manager`
[INFO] [stdout]   --> tests/test_server.rs:34:3
[INFO] [stdout]    |
[INFO] [stdout] 34 |   util::async_manager,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `device_test::DeviceTestCase`
[INFO] [stdout]   --> tests/util/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use device_test::DeviceTestCase;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestHardwareConnector`
[INFO] [stdout]   --> tests/util/test_device_manager/mod.rs:20:3
[INFO] [stdout]    |
[INFO] [stdout] 20 |   TestHardwareConnector,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestDeviceCommunicationManager`
[INFO] [stdout]   --> tests/util/test_device_manager/mod.rs:27:3
[INFO] [stdout]    |
[INFO] [stdout] 27 |   TestDeviceCommunicationManager,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel_transport::*`
[INFO] [stdout]   --> tests/util/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use channel_transport::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestHardwareNotification`
[INFO] [stdout]   --> tests/util/mod.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 26 |   TestHardwareNotification,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `device_test::DeviceTestCase`
[INFO] [stdout]   --> tests/util/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use device_test::DeviceTestCase;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestHardwareConnector`
[INFO] [stdout]   --> tests/util/test_device_manager/mod.rs:20:3
[INFO] [stdout]    |
[INFO] [stdout] 20 |   TestHardwareConnector,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestDeviceCommunicationManager`
[INFO] [stdout]   --> tests/util/test_device_manager/mod.rs:27:3
[INFO] [stdout]    |
[INFO] [stdout] 27 |   TestDeviceCommunicationManager,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel_transport::*`
[INFO] [stdout]   --> tests/util/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use channel_transport::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestHardwareNotification`
[INFO] [stdout]   --> tests/util/mod.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 26 |   TestHardwareNotification,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `util::async_manager`
[INFO] [stdout]   --> tests/test_message_downgrades.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 26 |   util::async_manager,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `device_test::DeviceTestCase`
[INFO] [stdout]   --> tests/util/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use device_test::DeviceTestCase;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestHardwareConnector`
[INFO] [stdout]   --> tests/util/test_device_manager/mod.rs:20:3
[INFO] [stdout]    |
[INFO] [stdout] 20 |   TestHardwareConnector,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestDeviceCommunicationManager`
[INFO] [stdout]   --> tests/util/test_device_manager/mod.rs:27:3
[INFO] [stdout]    |
[INFO] [stdout] 27 |   TestDeviceCommunicationManager,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestHardwareNotification`
[INFO] [stdout]   --> tests/util/mod.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 26 |   TestHardwareNotification,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `device_test::DeviceTestCase`
[INFO] [stdout]   --> tests/util/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use device_test::DeviceTestCase;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestHardwareConnector`
[INFO] [stdout]   --> tests/util/test_device_manager/mod.rs:20:3
[INFO] [stdout]    |
[INFO] [stdout] 20 |   TestHardwareConnector,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestDeviceCommunicationManager`
[INFO] [stdout]   --> tests/util/test_device_manager/mod.rs:27:3
[INFO] [stdout]    |
[INFO] [stdout] 27 |   TestDeviceCommunicationManager,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel_transport::*`
[INFO] [stdout]   --> tests/util/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use channel_transport::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestHardwareNotification`
[INFO] [stdout]   --> tests/util/mod.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 26 |   TestHardwareNotification,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `util::async_manager`
[INFO] [stdout]   --> tests/test_client.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 26 |   util::async_manager,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `disconnect` and `shutdown` are never used
[INFO] [stdout]    --> tests/util/test_server.rs:153:16
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl ButtplugTestServer {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |   pub async fn disconnect(&self) -> Result<(), ButtplugError> {
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |   pub async fn shutdown(&self) -> Result<(), ButtplugError> {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused pinned boxed `futures::Future` trait object that must be used
[INFO] [stdout]   --> tests/util/test_server.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |               connector_clone.send(err_msg.into());
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `disconnect` and `shutdown` are never used
[INFO] [stdout]    --> tests/util/test_server.rs:153:16
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl ButtplugTestServer {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |   pub async fn disconnect(&self) -> Result<(), ButtplugError> {
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |   pub async fn shutdown(&self) -> Result<(), ButtplugError> {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused pinned boxed `futures::Future` trait object that must be used
[INFO] [stdout]   --> tests/util/test_server.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |               connector_clone.send(err_msg.into());
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused pinned boxed `futures::Future` trait object that must be used
[INFO] [stdout]   --> tests/util/test_server.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |               connector_clone.send(err_msg.into());
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `disconnect` and `shutdown` are never used
[INFO] [stdout]    --> tests/util/test_server.rs:153:16
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl ButtplugTestServer {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |   pub async fn disconnect(&self) -> Result<(), ButtplugError> {
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |   pub async fn shutdown(&self) -> Result<(), ButtplugError> {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused pinned boxed `futures::Future` trait object that must be used
[INFO] [stdout]   --> tests/util/test_server.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |               connector_clone.send(err_msg.into());
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `disconnect` and `shutdown` are never used
[INFO] [stdout]    --> tests/util/test_server.rs:153:16
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl ButtplugTestServer {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |   pub async fn disconnect(&self) -> Result<(), ButtplugError> {
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |   pub async fn shutdown(&self) -> Result<(), ButtplugError> {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `disconnect` and `shutdown` are never used
[INFO] [stdout]    --> tests/util/test_server.rs:153:16
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl ButtplugTestServer {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |   pub async fn disconnect(&self) -> Result<(), ButtplugError> {
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |   pub async fn shutdown(&self) -> Result<(), ButtplugError> {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused pinned boxed `futures::Future` trait object that must be used
[INFO] [stdout]   --> tests/util/test_server.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |               connector_clone.send(err_msg.into());
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused pinned boxed `futures::Future` trait object that must be used
[INFO] [stdout]   --> tests/util/test_server.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |               connector_clone.send(err_msg.into());
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `disconnect` and `shutdown` are never used
[INFO] [stdout]    --> tests/util/test_server.rs:153:16
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl ButtplugTestServer {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |   pub async fn disconnect(&self) -> Result<(), ButtplugError> {
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |   pub async fn shutdown(&self) -> Result<(), ButtplugError> {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused pinned boxed `futures::Future` trait object that must be used
[INFO] [stdout]   --> tests/util/test_server.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |               connector_clone.send(err_msg.into());
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `disconnect` and `shutdown` are never used
[INFO] [stdout]    --> tests/util/test_server.rs:153:16
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl ButtplugTestServer {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |   pub async fn disconnect(&self) -> Result<(), ButtplugError> {
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |   pub async fn shutdown(&self) -> Result<(), ButtplugError> {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused pinned boxed `futures::Future` trait object that must be used
[INFO] [stdout]   --> tests/util/test_server.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |               connector_clone.send(err_msg.into());
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `device_test::DeviceTestCase`
[INFO] [stdout]   --> tests/util/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use device_test::DeviceTestCase;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestHardwareConnector`
[INFO] [stdout]   --> tests/util/test_device_manager/mod.rs:20:3
[INFO] [stdout]    |
[INFO] [stdout] 20 |   TestHardwareConnector,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestDeviceCommunicationManager`
[INFO] [stdout]   --> tests/util/test_device_manager/mod.rs:27:3
[INFO] [stdout]    |
[INFO] [stdout] 27 |   TestDeviceCommunicationManager,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel_transport::*`
[INFO] [stdout]   --> tests/util/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use channel_transport::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestHardwareNotification`
[INFO] [stdout]   --> tests/util/mod.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 26 |   TestHardwareNotification,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `device_test::DeviceTestCase`
[INFO] [stdout]   --> tests/util/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use device_test::DeviceTestCase;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestHardwareConnector`
[INFO] [stdout]   --> tests/util/test_device_manager/mod.rs:20:3
[INFO] [stdout]    |
[INFO] [stdout] 20 |   TestHardwareConnector,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestDeviceCommunicationManager`
[INFO] [stdout]   --> tests/util/test_device_manager/mod.rs:27:3
[INFO] [stdout]    |
[INFO] [stdout] 27 |   TestDeviceCommunicationManager,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel_transport::*`
[INFO] [stdout]   --> tests/util/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use channel_transport::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestHardwareNotification`
[INFO] [stdout]   --> tests/util/mod.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 26 |   TestHardwareNotification,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestHardwareConnector`
[INFO] [stdout]   --> tests/util/test_device_manager/mod.rs:20:3
[INFO] [stdout]    |
[INFO] [stdout] 20 |   TestHardwareConnector,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestDeviceCommunicationManager`
[INFO] [stdout]   --> tests/util/test_device_manager/mod.rs:27:3
[INFO] [stdout]    |
[INFO] [stdout] 27 |   TestDeviceCommunicationManager,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel_transport::*`
[INFO] [stdout]   --> tests/util/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use channel_transport::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestHardwareNotification`
[INFO] [stdout]   --> tests/util/mod.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 26 |   TestHardwareNotification,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `disconnect` and `shutdown` are never used
[INFO] [stdout]    --> tests/util/test_server.rs:153:16
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl ButtplugTestServer {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |   pub async fn disconnect(&self) -> Result<(), ButtplugError> {
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |   pub async fn shutdown(&self) -> Result<(), ButtplugError> {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused pinned boxed `futures::Future` trait object that must be used
[INFO] [stdout]   --> tests/util/test_server.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |               connector_clone.send(err_msg.into());
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `disconnect` and `shutdown` are never used
[INFO] [stdout]    --> tests/util/test_server.rs:153:16
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl ButtplugTestServer {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |   pub async fn disconnect(&self) -> Result<(), ButtplugError> {
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |   pub async fn shutdown(&self) -> Result<(), ButtplugError> {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused pinned boxed `futures::Future` trait object that must be used
[INFO] [stdout]   --> tests/util/test_server.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |               connector_clone.send(err_msg.into());
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `disconnect` and `shutdown` are never used
[INFO] [stdout]    --> tests/util/test_server.rs:153:16
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl ButtplugTestServer {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |   pub async fn disconnect(&self) -> Result<(), ButtplugError> {
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |   pub async fn shutdown(&self) -> Result<(), ButtplugError> {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused pinned boxed `futures::Future` trait object that must be used
[INFO] [stdout]   --> tests/util/test_server.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |               connector_clone.send(err_msg.into());
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.47s
[INFO] running `Command { std: "docker" "inspect" "7e33996dd3a8398f72a58cb7b104080afc16cd5241efceff9b44a162043aaec4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7e33996dd3a8398f72a58cb7b104080afc16cd5241efceff9b44a162043aaec4", kill_on_drop: false }`
[INFO] [stdout] 7e33996dd3a8398f72a58cb7b104080afc16cd5241efceff9b44a162043aaec4
[INFO] checking buttplug-7.1.11 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate buttplug 7.1.11 into /workspace/builds/worker-7-tc2/source
[INFO] validating manifest of crates.io crate buttplug 7.1.11 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate buttplug 7.1.11
[INFO] finished tweaking crates.io crate buttplug 7.1.11
[INFO] tweaked toml for crates.io crate buttplug 7.1.11 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 159aaade74d11d8b22a7531774700cc5364bf08538bc3abc045cf0ff5468479d
[INFO] running `Command { std: "docker" "start" "-a" "159aaade74d11d8b22a7531774700cc5364bf08538bc3abc045cf0ff5468479d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "159aaade74d11d8b22a7531774700cc5364bf08538bc3abc045cf0ff5468479d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "159aaade74d11d8b22a7531774700cc5364bf08538bc3abc045cf0ff5468479d", kill_on_drop: false }`
[INFO] [stdout] 159aaade74d11d8b22a7531774700cc5364bf08538bc3abc045cf0ff5468479d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] edc084f9f2f0286f09cb4bba433c1e3eae624e6f8fa827b9473915477670ac86
[INFO] running `Command { std: "docker" "start" "-a" "edc084f9f2f0286f09cb4bba433c1e3eae624e6f8fa827b9473915477670ac86", kill_on_drop: false }`
[INFO] [stderr]     Checking socket2 v0.5.6
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling thiserror-impl v1.0.57
[INFO] [stderr]    Compiling libdbus-sys v0.2.5
[INFO] [stderr]     Checking ring v0.17.8
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]     Checking tokio v1.36.0
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking openssl-sys v0.9.101
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling rustls v0.21.10
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking lock_api v0.4.11
[INFO] [stderr]     Checking parking_lot_core v0.9.9
[INFO] [stderr]     Checking thiserror v1.0.57
[INFO] [stderr]     Checking openssl v0.10.64
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking num-iter v0.1.44
[INFO] [stderr]     Checking num-complex v0.4.5
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking dbus v0.9.7
[INFO] [stderr]     Checking h2 v0.3.24
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]    Compiling time-macros v0.2.17
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking serde v1.0.197
[INFO] [stderr]     Checking native-tls v0.2.11
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking num v0.4.1
[INFO] [stderr]    Compiling async-trait v0.1.77
[INFO] [stderr]    Compiling anyhow v1.0.80
[INFO] [stderr]    Compiling pin-project-internal v1.1.4
[INFO] [stderr]    Compiling hidapi v2.6.1
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]     Checking data-encoding v2.5.0
[INFO] [stderr]    Compiling test-case-core v3.3.1
[INFO] [stderr]     Checking tungstenite v0.20.1
[INFO] [stderr]     Checking bluez-generated v0.3.0
[INFO] [stderr]     Checking dbus-tokio v0.7.6
[INFO] [stderr]     Checking time v0.3.34
[INFO] [stderr]     Checking chrono v0.4.34
[INFO] [stderr]     Checking hyper v0.14.28
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]     Checking iso8601 v0.6.1
[INFO] [stderr]    Compiling prost-derive v0.12.3
[INFO] [stderr]     Checking pin-project v1.1.4
[INFO] [stderr]     Checking libudev v0.3.0
[INFO] [stderr]     Checking fraction v0.13.1
[INFO] [stderr]     Checking uuid v1.6.1
[INFO] [stderr]     Checking serde_json v1.0.114
[INFO] [stderr]     Checking serde-xml-rs v0.6.0
[INFO] [stderr]     Checking tracing-serde v0.1.3
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking bluez-async v0.7.2
[INFO] [stderr]     Checking fancy-regex v0.11.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tokio-stream v0.1.14
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking unescaper v0.1.4
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling async-stream-impl v0.3.5
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking webpki-roots v0.25.4
[INFO] [stderr]     Checking bytecount v0.6.7
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking num-cmp v0.1.0
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]     Checking serialport v4.3.0
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking tracing-subscriber v0.3.18
[INFO] [stderr]     Checking btleplug v0.11.5
[INFO] [stderr]     Checking reqwest v0.11.24
[INFO] [stderr]     Checking serde-aux v4.5.0
[INFO] [stderr]     Checking jsonschema v0.17.1
[INFO] [stderr]     Checking async-tungstenite v0.23.0
[INFO] [stderr]     Checking async-stream v0.3.5
[INFO] [stderr]    Compiling getset v0.1.2
[INFO] [stderr]     Checking os_info v3.7.0
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]    Compiling test-case-macros v3.3.1
[INFO] [stderr]     Checking prost v0.12.3
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling buttplug_derive v0.8.0
[INFO] [stderr]    Compiling displaydoc v0.2.4
[INFO] [stderr]    Compiling serde_repr v0.1.18
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking unsafe-libyaml v0.2.10
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]     Checking test-case v3.3.1
[INFO] [stderr]     Checking serde_yaml v0.9.32
[INFO] [stderr]     Checking buttplug v7.1.11 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/client/device.rs:386:18
[INFO] [stdout]     |
[INFO] [stdout] 386 |         for i in 0..scalar_count {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/client/device.rs:444:18
[INFO] [stdout]     |
[INFO] [stdout] 444 |         for i in 0..linear_count {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/client/device.rs:502:18
[INFO] [stdout]     |
[INFO] [stdout] 502 |         for i in 0..rotate_count {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/core/message/fleshlight_launch_fw12_cmd.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 |     if !(0..100).contains(&self.speed) {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/core/message/fleshlight_launch_fw12_cmd.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |     } else if !(0..100).contains(&self.position) {
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/core/message/mod.rs:201:10
[INFO] [stdout]     |
[INFO] [stdout] 201 |     if !(0.0..=1.0).contains(&value) {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/server/device/configuration/specifier.rs:79:28
[INFO] [stdout]    |
[INFO] [stdout] 79 |       haystack = &haystack[1..];
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/device/hardware/communication/lovense_dongle/lovense_hid_dongle_comm_manager.rs:68:18
[INFO] [stdout]    |
[INFO] [stdout] 68 |       byte_array[1..chunk.len() + 1].copy_from_slice(chunk);
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/hardware/communication/lovense_dongle/lovense_hid_dongle_comm_manager.rs:114:42
[INFO] [stdout]     |
[INFO] [stdout] 114 |         data += std::str::from_utf8(&buf[0..len - 1])
[INFO] [stdout]     |                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/hardware/communication/lovense_dongle/lovense_serial_dongle_comm_manager.rs:100:42
[INFO] [stdout]     |
[INFO] [stdout] 100 |         data += std::str::from_utf8(&buf[0..len])
[INFO] [stdout]     |                                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/hardware/communication/serialport/serialport_hardware.rs:144:41
[INFO] [stdout]     |
[INFO] [stdout] 144 |             if sender.blocking_send(buf[0..len].to_vec()).is_err() {
[INFO] [stdout]     |                                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/device/hardware/communication/hid/hidapi_async.rs:198:18
[INFO] [stdout]     |
[INFO] [stdout] 198 |       buf = &buf[max_len..];
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/hardware/communication/hid/hidapi_async.rs:259:42
[INFO] [stdout]     |
[INFO] [stdout] 259 |             let inner_slice = &inner_buf[this.buffer_pos..this.buffer_pos + len];
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/protocol/generic_command_manager.rs:101:16
[INFO] [stdout]     |
[INFO] [stdout] 101 |       for i in 0..rotations.len() {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/protocol/ankni.rs:123:14
[INFO] [stdout]     |
[INFO] [stdout] 123 |     for _ in 0..8 {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/device/protocol/galaku_pump.rs:68:14
[INFO] [stdout]    |
[INFO] [stdout] 68 |     for i in 1..data.len() {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/protocol/kiiroo_v21.rs:203:41
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 let analog: Vec<i32> = (0..4)
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/protocol/kiiroo_v21.rs:209:42
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 let digital: Vec<i32> = (0..4)
[INFO] [stdout]     |                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/device/protocol/kiiroo_v21.rs:213:68
[INFO] [stdout]     |
[INFO] [stdout] 213 |                 for ((sensor_index, sensor_type), sensor_data) in (0u32..)
[INFO] [stdout]     |                                                                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/server/device/protocol/lelo_harmony.rs:70:53
[INFO] [stdout]    |
[INFO] [stdout] 70 |         } else if !n.is_empty() && n[0] == 1u8 && n[1..].iter().all(|b| *b == 0u8) {
[INFO] [stdout]    |                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/device/protocol/longlosttouch.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 |   (0..2).for_each(|i| {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/protocol/longlosttouch.rs:121:34
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let last_command = Arc::new((0..2).map(|_| AtomicU8::new(0)).collect::<Vec<AtomicU8>>());
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/protocol/lovense.rs:344:43
[INFO] [stdout]     |
[INFO] [stdout] 344 |               if let Ok(level) = data_str[start_pos..(len - 1)].parse::<u8>() {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/device/protocol/nintendo_joycon.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     buf[2..6].copy_from_slice(&rumble_left);
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/device/protocol/nintendo_joycon.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     buf[6..10].copy_from_slice(&rumble_right);
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/device/protocol/nintendo_joycon.rs:59:7
[INFO] [stdout]    |
[INFO] [stdout] 59 |   buf[11..11 + data.len()].copy_from_slice(data);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/device/protocol/patoo.rs:56:26
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let name: String = c[0..i].iter().collect();
[INFO] [stdout]    |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/protocol/satisfyer.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 |   data[0..feature_count]
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/protocol/satisfyer.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 |       (0..feature_count)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/device/protocol/svakom_iker.rs:53:33
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let last_speeds = Arc::new((0..2).map(|_| AtomicU8::new(0)).collect::<Vec<AtomicU8>>());
[INFO] [stdout]    |                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/device/protocol/svakom_v4.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 37 |     for i in 0..commands.len() {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/client/device.rs:386:18
[INFO] [stdout]     |
[INFO] [stdout] 386 |         for i in 0..scalar_count {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/client/device.rs:444:18
[INFO] [stdout]     |
[INFO] [stdout] 444 |         for i in 0..linear_count {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/client/device.rs:502:18
[INFO] [stdout]     |
[INFO] [stdout] 502 |         for i in 0..rotate_count {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/core/message/fleshlight_launch_fw12_cmd.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 |     if !(0..100).contains(&self.speed) {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/core/message/fleshlight_launch_fw12_cmd.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |     } else if !(0..100).contains(&self.position) {
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/core/message/mod.rs:201:10
[INFO] [stdout]     |
[INFO] [stdout] 201 |     if !(0.0..=1.0).contains(&value) {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/server/device/configuration/specifier.rs:79:28
[INFO] [stdout]    |
[INFO] [stdout] 79 |       haystack = &haystack[1..];
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/device/hardware/communication/lovense_dongle/lovense_hid_dongle_comm_manager.rs:68:18
[INFO] [stdout]    |
[INFO] [stdout] 68 |       byte_array[1..chunk.len() + 1].copy_from_slice(chunk);
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/hardware/communication/lovense_dongle/lovense_hid_dongle_comm_manager.rs:114:42
[INFO] [stdout]     |
[INFO] [stdout] 114 |         data += std::str::from_utf8(&buf[0..len - 1])
[INFO] [stdout]     |                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/hardware/communication/lovense_dongle/lovense_serial_dongle_comm_manager.rs:100:42
[INFO] [stdout]     |
[INFO] [stdout] 100 |         data += std::str::from_utf8(&buf[0..len])
[INFO] [stdout]     |                                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/hardware/communication/serialport/serialport_hardware.rs:144:41
[INFO] [stdout]     |
[INFO] [stdout] 144 |             if sender.blocking_send(buf[0..len].to_vec()).is_err() {
[INFO] [stdout]     |                                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/device/hardware/communication/hid/hidapi_async.rs:198:18
[INFO] [stdout]     |
[INFO] [stdout] 198 |       buf = &buf[max_len..];
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/hardware/communication/hid/hidapi_async.rs:259:42
[INFO] [stdout]     |
[INFO] [stdout] 259 |             let inner_slice = &inner_buf[this.buffer_pos..this.buffer_pos + len];
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/protocol/generic_command_manager.rs:101:16
[INFO] [stdout]     |
[INFO] [stdout] 101 |       for i in 0..rotations.len() {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/protocol/ankni.rs:123:14
[INFO] [stdout]     |
[INFO] [stdout] 123 |     for _ in 0..8 {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/device/protocol/galaku_pump.rs:68:14
[INFO] [stdout]    |
[INFO] [stdout] 68 |     for i in 1..data.len() {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/protocol/kiiroo_v21.rs:203:41
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 let analog: Vec<i32> = (0..4)
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/protocol/kiiroo_v21.rs:209:42
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 let digital: Vec<i32> = (0..4)
[INFO] [stdout]     |                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/device/protocol/kiiroo_v21.rs:213:68
[INFO] [stdout]     |
[INFO] [stdout] 213 |                 for ((sensor_index, sensor_type), sensor_data) in (0u32..)
[INFO] [stdout]     |                                                                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/server/device/protocol/lelo_harmony.rs:70:53
[INFO] [stdout]    |
[INFO] [stdout] 70 |         } else if !n.is_empty() && n[0] == 1u8 && n[1..].iter().all(|b| *b == 0u8) {
[INFO] [stdout]    |                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/device/protocol/longlosttouch.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 |   (0..2).for_each(|i| {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/protocol/longlosttouch.rs:121:34
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let last_command = Arc::new((0..2).map(|_| AtomicU8::new(0)).collect::<Vec<AtomicU8>>());
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/protocol/lovense.rs:344:43
[INFO] [stdout]     |
[INFO] [stdout] 344 |               if let Ok(level) = data_str[start_pos..(len - 1)].parse::<u8>() {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/device/protocol/nintendo_joycon.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     buf[2..6].copy_from_slice(&rumble_left);
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/device/protocol/nintendo_joycon.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     buf[6..10].copy_from_slice(&rumble_right);
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/device/protocol/nintendo_joycon.rs:59:7
[INFO] [stdout]    |
[INFO] [stdout] 59 |   buf[11..11 + data.len()].copy_from_slice(data);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/device/protocol/patoo.rs:56:26
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let name: String = c[0..i].iter().collect();
[INFO] [stdout]    |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/protocol/satisfyer.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 |   data[0..feature_count]
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/device/protocol/satisfyer.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 |       (0..feature_count)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/device/protocol/svakom_iker.rs:53:33
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let last_speeds = Arc::new((0..2).map(|_| AtomicU8::new(0)).collect::<Vec<AtomicU8>>());
[INFO] [stdout]    |                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/device/protocol/svakom_v4.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 37 |     for i in 0..commands.len() {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeInclusive` type in public function
[INFO] [stdout]    --> src/server/device/configuration/server_device_message_attributes.rs:295:15
[INFO] [stdout]     |
[INFO] [stdout] 295 |   step_range: RangeInclusive<u32>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeInclusive` type in public function
[INFO] [stdout]    --> src/server/device/configuration/server_device_message_attributes.rs:311:18
[INFO] [stdout]     |
[INFO] [stdout] 311 |     step_range: &RangeInclusive<u32>,
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused pinned boxed `futures::Future` trait object that must be used
[INFO] [stdout]   --> src/server/device/protocol/thehandy/mod.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     hardware.write_value(&HardwareWriteCmd::new(Endpoint::Firmware, sec_buf, false));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 32 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `buttplug` (lib) due to 3 previous errors; 32 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused pinned boxed `futures::Future` trait object that must be used
[INFO] [stdout]   --> src/server/device/protocol/thehandy/mod.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     hardware.write_value(&HardwareWriteCmd::new(Endpoint::Firmware, sec_buf, false));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 32 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "edc084f9f2f0286f09cb4bba433c1e3eae624e6f8fa827b9473915477670ac86", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "edc084f9f2f0286f09cb4bba433c1e3eae624e6f8fa827b9473915477670ac86", kill_on_drop: false }`
[INFO] [stdout] edc084f9f2f0286f09cb4bba433c1e3eae624e6f8fa827b9473915477670ac86
